'use strict' import { updateUserInStorage, deleteUserFromStorage } from './storageService' import { WrongInputError, NotFoundError, InternalError } from '../../utils/customErrors' import { Request } from 'express' /** * Operations on /users/{id} */ export default { /**Updates user with id */ async patchUser(req: Request) { if (req && req.params && req.params.id) { if (req && req.body && req.body.user) { try { return await updateUserInStorage(req.params.id, req.body.user) } catch (error) { throw new NotFoundError(error) } } else { throw new WrongInputError('Invalid user body.') } } else { throw new WrongInputError('Invalid user id.') } }, /**deletes user with id */ async deleteUser(req: Request) { if (req && req.params && req.params.id) { try { return await deleteUserFromStorage(req.params.id) } catch (error) { throw new InternalError(error) } } else { throw new WrongInputError('Invalid user id.') } } }